Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Essentials

The Score That Stops The Loop Is Judged By A Model That Cannot See The Work

This is the most technically accurate card this page has published. Six parts, each naming a real command: /init, /goal, /agents, /memory, /schedule. The four-era framing — Prompt, Context, Harness, Loop — is a genuinely useful way to think about what changed. And part two states the central idea better than most documentation does:

“No finish line, no loop. The score is the off-switch.”

That is exactly right, and it is why this piece is about one thing only: the card’s example off-switch is a 95 on your rubric, and it is worth knowing who awards that 95.

Source card: “Loop Engineering, Clearly Explained” — BANI Academy, 18 October 2026. Six parts: the standards, the goal, the team, the eval, the memory, the schedule.
View the original post on Facebook

Who awards the 95

The card’s part-two prompt is /goal Score it on my rubric, don’t stop until 95. That command exists and does roughly what the card says: it sets a completion condition and Claude keeps working until the condition holds. The part the card does not describe is the evaluator.

“After each turn, a model checks whether the condition holds… /goal adds a separate evaluator that checks your condition after every turn, so completion is decided by a fresh model rather than the one doing the work.”

“Claude Code sends the condition and the conversation so far to your configured small fast model.”

“The evaluator judges your condition against what Claude has surfaced in the conversation. It doesn’t run commands or read files independently, so write the condition as something Claude’s own output can demonstrate.”

“The evaluator runs on whichever provider your session is configured for. It does not call tools, so it can only judge what Claude has already surfaced in the conversation.”

So the card is right that it never marks its own homework — the evaluator is a separate model, which is the correct design. But three things follow that change how you write the condition.

The evaluator What it is What that means for your 95
Which model Your configured small fast model — the cheapest in the stack. Evaluation tokens are described as “typically negligible” The thing deciding whether your work is finished is not the thing that did the work, and it is not the strongest model you have
What it can access Nothing. It does not call tools, run commands, or read files It cannot open your draft. It reads the transcript
What it reads “What Claude has already surfaced in the conversation” It is scoring the author’s account of the work, not the work
What it returns One of three verdicts with a reason: Not yet met, Met, or Impossible “Impossible” is the safety valve. It clears the goal and logs why
From the /goal documentation, October 2026. The design is sound; the constraint is that the judge sees only what the transcript shows it.

Which conditions survive this, and which do not

The documentation is unusually direct about what makes a good condition. It asks for “one measurable end state”, “a stated check” — how Claude should prove it — and the constraints that must hold on the way. Its own example is /goal all tests in test/auth pass and the lint step is clean, and it explains why that works: “Claude runs the tests and the result appears in the transcript for the evaluator to read.”

Line up the card’s example against that standard and the gap is clear.

The condition Can the evaluator verify it? Why
npm test exits 0 Yes Claude runs it; the exit code lands in the transcript
git status is clean Yes Same — the command output is right there to read
the backlog queue is empty Yes A count Claude printed is a count the evaluator can read
every acceptance criterion in the design doc holds Partly Only for the criteria Claude demonstrated in the conversation. The unmentioned ones are invisible
Score it on my rubric, don’t stop until 95 Not really There is no artefact to inspect and no check stated. The evaluator reads a description of a draft and is asked for a number. Whatever it returns, nothing in the transcript could have falsified it
The card’s own fine print half-concedes this: “Scores like 95 are examples, not guarantees.”

The fix is small and it is the card’s own structure done properly. Make the rubric produce something the transcript can show. Instead of “score it 95”, have the QA agent of part four write its score and its reasons into the conversation, criterion by criterion — then the evaluator in part two has something real to read, and so do you. A number with five named reasons under it is a different object from a number on its own.

The card is halfway there already. Part four is LLM-as-judge, correctly named, with the right instinct printed on it: “It never marks its own homework.” All that is missing is the instruction to show its working.

And nothing on the card bounds the loop

Part six takes the whole thing and schedules it: “Wrap the whole loop in a Routine that runs in the cloud with your laptop closed… Set it once, walk away. It runs while you sleep.” The prompt is /schedule Run my loop weekdays at 7am.

So an unbounded condition, judged by a model that cannot inspect the artefact, now runs unattended. The documentation has a one-line answer for this and the card does not mention it:

“To bound how long a goal runs, include a turn or time clause in the condition, such as or stop after 20 turns. Claude reports progress against that clause each turn and the evaluator judges it from the conversation.”

Eight words at the end of the condition. In fairness, three real safety valves exist underneath: the evaluator can return Impossible and clear the goal; Claude Code “stops the loop, prints a warning, and returns control to you” if several turns pass with no tool use; and a goal pauses rather than spinning when it hits a usage limit. None of those is a budget. Write the clause.

The quote in the caption, checked

The post carries a named attribution: “Boris Cherny, who built Claude Code: ‘I don’t prompt Claude anymore. My job is to write loops.’” We went looking for the source, because a direct quotation in quotation marks is a claim like any other.

The attribution holds up and the wording is approximate. The line is widely circulated and consistently attributed to Boris Cherny at Anthropic, and multiple independent reposts carry it. But the transcriptions differ — the most-repeated longer version runs “I don’t prompt Claude anymore. I have loops that are running. My job is to write loops” — and sources disagree about which interview or talk it comes from. We could not reach a primary recording or transcript.

So: almost certainly a real thing a real person said, in roughly these words, somewhere we could not pin down. Which is the honest status of most quotes that travel this way, and worth saying out loud rather than repeating the sentence as though it were sourced.

The six parts, checked against the documentation

The card’s part Real? What the docs say
1 /init → CLAUDE.md Yes Writes a CLAUDE.md that loads on every run. The card’s “the brief you write once, that every run inherits” is a fair description
2 /goal Yes “Sets a completion condition and Claude keeps working toward it without you prompting each step.” One goal per session; the condition can run to 4,000 characters
3 /agents, subagents Yes Subagents are the worker primitive. The card’s “specialists beat one generalist” matches the documented use case
4 LLM-as-judge Yes, and correctly named A separate evaluator is exactly how /goal works. The card’s “never marks its own homework” is the right principle
5 /memory → MEMORY.md The feature yes; the filename we could not confirm Claude Code’s memory lives in CLAUDE.md files, and there is an auto-memory mechanism. We found no documented MEMORY.md, so treat the filename as illustrative
6 /schedule → Routines Yes Cloud routines: “Runs on: Cloud… Requires machine on: No.” Note the 1-hour minimum interval, and that a cloud routine gets a fresh clone with no access to your local files
Five of six check out cleanly. The sixth is a filename, not a mechanism.

That last row carries a consequence the card does not mention and which we worked through separately in the piece on the three schedulers: the cloud routine that runs while you sleep cannot see the files on your machine. If your loop writes drafts into a local folder, part six is not where it runs.

Four honest caveats

  1. We did not run a loop. Everything here is the card checked against the /goal, scheduled-tasks and subagent documentation in October 2026.
  2. “Cannot see the work” is precise, not rhetorical. The evaluator cannot call tools. But a well-written turn puts the work in the transcript, and then the evaluator genuinely can read it. The constraint is on the condition you write, not on the idea.
  3. The quote is unresolved, not debunked. We found consistent attribution and inconsistent wording, and no primary. We are reporting that state, not disputing that he said it.
  4. This card is unusually good. Five of six commands check out, the named pattern is named correctly, and the fine print says scores are examples rather than guarantees. The criticism here is of one example prompt, not of the method.

The one-line version

The card is right that the score is the off-switch — and the score is awarded by the cheapest model in the stack, reading a transcript, unable to open the file; so write conditions that the transcript can prove, make the judge show its reasons, and put a turn limit on the end before you schedule it to run while you sleep.

Three edits to one prompt: /goal Score it on my rubric with reasons for each criterion, don’t stop until 95, or stop after 20 turns.

Source card: “Loop Engineering, Clearly Explained” — BANI Academy, 18 October 2026.
View the original post on Facebook · Related: the three ways to run agents, and who holds the plan in each

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button